﻿Public Class CValueState2 : Inherits CStateBase

    ''' <summary>
    ''' 実行可能かを判断する
    ''' </summary>
    ''' <param name="task"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function IsEnter(ByVal task As CTaskBase) As Boolean
        Debug.WriteLine("CVALUE_CHECKState.IsEnter")
        If CCommon.isInStr(task.ActionCd, "VALUE_CHECK") Then
            Return True
        Else
            Return False
        End If
    End Function

    ''' <summary>
    ''' 実行メソッド'今、照合しているデータのチェック
    ''' </summary>
    ''' <param name="task"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function DoExecute(ByVal task As CTaskBase) As CStateBase
        Dim nextState As CStateBase
        Dim pdaTask As CPDATask2 = DirectCast(task, CPDATask2)
        'Debug.WriteLine("CVALUE_CHECKState.DoExecute")
        Dim AppManager As CApplicationManager = CApplicationManager.GetInstance
        'Debug.WriteLine("CVALUE_CHECK 1")

        'データベース接続
        Dim app As CApplication = CApplication.GetInstance()
        Dim sql As CSQLite = app.MasterDB()
        Dim trx As CTransaction = sql.GetTransaction
        Dim StateDao As CMasterDAO = New CMasterDAO
        Dim checkLblData As CCheck = CCheck.GetIns

        'バーコードタイプチェック--------------------------------------->>>>>>>>START
        CFileLog.WriteLog("C_VALUE_バーコードタイプSTART :" & Now.Millisecond)
        Dim barcdType As String = StateDao.CheckBarCdType(trx, task.ProcessText)
        'Debug.WriteLine("CVALUE_CHECK 7")
        Dim barcdInfo As ArrayList = StateDao.GetBarcdInfo(trx, barcdType)
        'Debug.WriteLine("CVALUE_CHECK 8")
        CFileLog.WriteLog("C_VALUE_バーコードタイプEND :" & Now.Millisecond)
        Try


            '出荷データがあるかどうかチェック--------------------------------------->>>>>>>>START
            Debug.WriteLine("CVALUE_CHECK 1")
            'MessageBox.Show("11")
            CFileLog.WriteLog("C_VALUE_出荷指示データSTART :" & Now.Millisecond)
            Select Case CPersonal.ChkShiporderData(task.ProcessText, pdaTask, barcdType, barcdInfo)
                Case 0
                    'Debug.WriteLine("CVALUE_CHECK 2")
                    'MessageBox.Show("22-00")
                    Dim selectCaseInt As Integer = CPersonal.ChkBarcodeInfo2(pdaTask, task.ProcessText, barcdInfo)
                    'MessageBox.Show("selectCaseInt:" & selectCaseInt)

                    Select Case selectCaseInt
                        Case 0
                            Debug.WriteLine("CVALUE_CHECK 3")
                            'MessageBox.Show("22")
                        Case Else
                            '==============>>>>エラーの内容を具体的に表現する
                            Return GetNextState(CPersonal.ErrorPage(pdaTask, selectCaseInt, task))
                    End Select
                    Debug.WriteLine("CVALUE_CHECK 4")

                    '注文と一致するデータを探しています。
                    pdaTask.WindowManager.SetMessage(CConst.CNS_MSG_058, CConst.COLOR_BLACK, CConst.COLOR_GREEN)
                    'MessageBox.Show("Viewまで来ました")
                    '別のリストで注文リストを表示する
                    If CPersonal.SetViewReportList(pdaTask) Then
                        Debug.WriteLine("CVALUE_CHECK 5")
                        '出荷照合のフラグは->２
                        Dim countFlg As CResultSet = StateDao.GetNextNmCResult(trx, barcdType, pdaTask.LabelCount, "2")
                        'Debug.WriteLine("CVALUE_CHECK 6")
                        pdaTask.CountFlg = countFlg.GetString("count_key")
                        'Debug.WriteLine("CVALUE_CHECK 7")

                        'バーコード値保存
                        selectCaseInt = CPersonal.SetBarcodeInfo2(pdaTask, task.ProcessText, barcdType, barcdInfo)
                        Select Case selectCaseInt
                            Case 0
                                'Debug.WriteLine("CVALUE_CHECK 8")
                                '次のラベル読む
                                pdaTask.LabelCount += 1
                                Dim nextNm As ArrayList = New ArrayList

                                'ボタン追加(次のステップラベルをボタンで表示する)
                                pdaTask.WindowManager.ClearActionLabel()
                                'パタンが１つしかない場合
                                If pdaTask.PatternList.Count = 1 Then
                                    '最後のラベルの場合
                                    Dim nextLbl As CResultSet = StateDao.GetNextCResult(trx, pdaTask.PatternList(0), pdaTask.LabelCount)
                                    Dim nowCResult As CResultSet = StateDao.GetNextCResult(trx, pdaTask.PatternList(0), pdaTask.LabelCount - 1)
                                    Dim nextLblNm As String = nextLbl.GetString("label_type")
                                    'MessageBox.Show("nextLblNm:" & nextLblNm)
                                    '次がない場合
                                    If nextLblNm = "" Then
                                        Debug.WriteLine("最後のラベル読んだ！！！！！！！場合")
                                        '数量は同じ
                                        If Not CCommon.FlagManage("READ_EMORE") Then
                                            '絞ったリストが複数のば場合
                                            If pdaTask.ReportDataCnt > 1 Then
                                                pdaTask.WindowManager.SetMessage(CConst.CNS_MSG_042, CConst.COLOR_BLACK, CConst.COLOR_GREEN)

                                                CCommon.FlagManage("MULTI_ORDER", True)
                                                task.ProcessText = task.ReadTextWait(-1)

                                                '注文を選択するまで回る
                                                Do
                                                    '機能追加 10.09.03 修正-------START---LEE
                                                    '絞るリストを取り消し
                                                    If task.ProcessText = CConst.CNS_CLR Then
                                                        '初期化
                                                        pdaTask.WindowManager.SetMessage(CConst.CNS_MSG_031, CConst.COLOR_BLACK, CConst.COLOR_GREEN)
                                                        'pdaTask.WindowManager.ChangeWindowMode(prevWindowMode)
                                                        pdaTask.OrderCd = ""
                                                        pdaTask.NowOrderDataList.Clear()
                                                        pdaTask.PatternList.Clear()
                                                        pdaTask.LabelQty = 0

                                                        CPersonal.initPdaTaskSetting(pdaTask)
                                                        'リスト画面に戻る
                                                        pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)
                                                        'actionボタンも消す
                                                        pdaTask.WindowManager.ClearActionLabel()

                                                        task.ActionCd = "LABEL"
                                                        task.ProcessText = ""
                                                        nextState = GetNextState(task)
                                                        Return nextState
                                                    End If
                                                    '機能追加 10.09.03 修正-------END---LEE

                                                    'リストから選んだらODR-で注文番号が来る
                                                    If task.ProcessText.StartsWith(CConst.CNS_ORDERCD_HEAD) Then
                                                        'ODR-を削除して注文番号を設定する
                                                        task.ProcessText = task.ProcessText.Replace(CConst.CNS_ORDERCD_HEAD, "")
                                                        '注文番号
                                                        pdaTask.OrderCd = task.ProcessText
                                                        Dim orderFlg As Boolean = False
                                                        For f As Integer = 0 To pdaTask.OrderRecordList.Count - 1
                                                            Dim shpOrderData As COrderRecord = pdaTask.OrderRecordList(f)
                                                            If pdaTask.OrderCd = shpOrderData.OrderCd Then
                                                                pdaTask.ShiporderCd = shpOrderData.ShiporderCd
                                                                pdaTask.RowNum = shpOrderData.RowNum
                                                                'MessageBox.Show("pdaTask.OrderCd:" & shpOrderData.OrderCd)
                                                                orderFlg = True
                                                                Exit For

                                                            End If
                                                        Next
                                                        'エラー
                                                        If Not orderFlg Then
                                                            'MessageBox.Show("エラー")
                                                            If AppManager.m_AppSetting.ErrorChk Then
                                                                'MessageBox.Show("22-4")
                                                                CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                                                                    Color.White, CConst.EnumSound.ERR_BUZZ, CConst.CNS_MSG_034, Color.Red)
                                                                CPersonal.ErrorLock2(pdaTask)
                                                                'エラーになったら全部照合中のデータは全部戻す（初期化）
                                                            Else
                                                                CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                                                                    Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
                                                                'CPersonal.ErrorLock2Release(pdaTask)
                                                            End If
                                                            task.ActionCd = "LABEL"
                                                            task.ProcessText = ""
                                                            nextState = GetNextState(task)
                                                            Return nextState
                                                        Else
                                                            pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)

                                                            '---->>>選択の解除ならないようにSTART
                                                            'リストの中にある注文を選択される為にイベント発生
                                                            pdaTask.WindowManager.SelectOrder(pdaTask.OrderCd)
                                                            pdaTask.WindowManager.ChangePage(pdaTask.OrderCd)
                                                            '---->>>選択の解除ならないようにEND

                                                            Exit Do
                                                        End If
                                                        
                                                    Else
                                                        '注文選択せずに読み込んだらVibをする
                                                        If CConst.CNS_IS_SELECT.Equals(task.ProcessText) Then
                                                            'MessageBox.Show(CConst.CNS_MSG_042)
                                                            pdaTask.Hardware.vib()
                                                        End If
                                                    End If

                                                Loop
                                                task.ActionCd = "INNER_LABEL"
                                                pdaTask.MsgText = ""
                                                '完全に照合成功
                                                pdaTask.Hardware.nextC()
                                                CCommon.FlagManage("MULTI_ORDER", False)

                                                '一致するデータが１つしかない場合
                                            Else
                                                '複数ラベル可能かどうか確認
                                                If nowCResult.GetString("lbl_count") = "N" Or Not CCommon.FlagManage("READ_EMORE") Then
                                                    task.ActionCd = "INNER_LABEL"
                                                    pdaTask.MsgText = ""
                                                    '完全に照合成功
                                                    pdaTask.Hardware.nextC()
                                                Else
                                                    Dim barNm As String = StateDao.GetBarcdName(trx, nextLblNm)
                                                    '箱入り数が足りないならまた読む
                                                    If CCommon.FlagManage("READ_EMORE") And nowCResult.GetString("lbl_count") = "Y" Then
                                                        pdaTask.LabelCount -= 1
                                                    Else
                                                        CCommon.FlagManage("READ_EMORE", False)
                                                    End If

                                                    If CCommon.FlagManage("READ_EMORE") Then
                                                        'MessageBox.Show("数量足りない")
                                                        Dim barNm2 As String = StateDao.GetBarcdName(trx, barcdType)
                                                        'pdaTask.MsgText = "数量が足りません " & barNm2 & "(" & (pdaTask.ChdLabelQty / pdaTask.LabelQty) + 1 & "/" & pdaTask.PartLabelQty / pdaTask.LabelQty & ") を読んでください。"
                                                        pdaTask.MsgText = "数量が足りません " & barNm2 & "(" & (pdaTask.LabelQty / pdaTask.PartLabelQty) + 1 & "/" & pdaTask.PartLabelQty / pdaTask.Setting_OrderQty & ") を読んでください。"

                                                        Debug.WriteLine("LABEL_PLUS02----START")

                                                        '数量が足りなくても完了は出来るように
                                                        CCommon.FlagManage("LABEL_OK", True)

                                                        'LabelQtyを増やす
                                                        CCommon.FlagManage("LABEL_PLUS", True)
                                                    Else
                                                        pdaTask.MsgText = ""
                                                    End If
                                                    '次読むラベルのボタンを表示
                                                    pdaTask.addWindowLabelBox(nowCResult.GetString("label_type"), 1)
                                                    task.ActionCd = "LABEL"
                                                    task.ProcessText = ""
                                                End If
                                            End If
                                        Else

                                            'Dim preLbl As CResultSet = StateDao.GetNextCResult(trx, pdaTask.PatternList(0), pdaTask.LabelCount - 1)
                                            '自分が複数が出来ないならそのまま終わり
                                            If nowCResult.GetString("lbl_count") = "N" Then
                                                Debug.WriteLine("自分が複数が出来ないならそのまま終わり----")

                                                '10.12.09---------------修正--------START

                                                '絞ったリストが複数のば場合
                                                If pdaTask.ReportDataCnt > 1 Then
                                                    Debug.WriteLine("でもリストが絞っていった----")
                                                    pdaTask.WindowManager.SetMessage(CConst.CNS_MSG_042, CConst.COLOR_BLACK, CConst.COLOR_GREEN)

                                                    CCommon.FlagManage("MULTI_ORDER", True)
                                                    pdaTask.Hardware.vib()
                                                    task.ProcessText = task.ReadTextWait(-1)

                                                    '機能追加 10.09.03 修正-------START---LEE


                                                    '絞るリストを取り消し
                                                    If task.ProcessText = CConst.CNS_CLR Then
                                                        '初期化
                                                        pdaTask.WindowManager.SetMessage(CConst.CNS_MSG_031, CConst.COLOR_BLACK, CConst.COLOR_GREEN)
                                                        'pdaTask.WindowManager.ChangeWindowMode(prevWindowMode)
                                                        pdaTask.OrderCd = ""
                                                        pdaTask.NowOrderDataList.Clear()
                                                        pdaTask.PatternList.Clear()
                                                        pdaTask.LabelQty = 0

                                                        CPersonal.initPdaTaskSetting(pdaTask)
                                                        'リスト画面に戻る
                                                        pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)
                                                        'actionボタンも消す
                                                        pdaTask.WindowManager.ClearActionLabel()

                                                        task.ActionCd = "LABEL"
                                                        task.ProcessText = ""
                                                        nextState = GetNextState(task)
                                                        Return nextState
                                                    End If
                                                    '機能追加 10.09.03 修正-------END---LEE

                                                    'リストから選んだらODR-で注文番号が来る
                                                    If task.ProcessText.StartsWith(CConst.CNS_ORDERCD_HEAD) Then
                                                        'ODR-を削除して注文番号を設定する
                                                        task.ProcessText = task.ProcessText.Replace(CConst.CNS_ORDERCD_HEAD, "")
                                                        '注文番号
                                                        pdaTask.OrderCd = task.ProcessText
                                                        Dim orderFlg As Boolean = False
                                                        For f As Integer = 0 To pdaTask.OrderRecordList.Count - 1
                                                            Dim shpOrderData As COrderRecord = pdaTask.OrderRecordList(f)
                                                            If pdaTask.OrderCd = shpOrderData.OrderCd Then
                                                                pdaTask.ShiporderCd = shpOrderData.ShiporderCd
                                                                pdaTask.RowNum = shpOrderData.RowNum
                                                                'MessageBox.Show("pdaTask.OrderCd:" & shpOrderData.OrderCd)
                                                                orderFlg = True
                                                                Exit For

                                                            End If
                                                        Next
                                                        'エラー
                                                        If Not orderFlg Then
                                                            'MessageBox.Show("エラー")
                                                            If AppManager.m_AppSetting.ErrorChk Then
                                                                'MessageBox.Show("22-5")
                                                                CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                                                                    Color.White, CConst.EnumSound.ERR_BUZZ, CConst.CNS_MSG_034, Color.Red)
                                                                CPersonal.ErrorLock2(pdaTask)
                                                                'エラーになったら全部照合中のデータは全部戻す（初期化）
                                                            Else
                                                                CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                                                                    Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
                                                                'CPersonal.ErrorLock2Release(pdaTask)
                                                            End If
                                                            task.ActionCd = "LABEL"
                                                            task.ProcessText = ""
                                                            nextState = GetNextState(task)
                                                            Return nextState

                                                        End If
                                                        pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)

                                                        'リストの中にある注文を選択される為にイベント発生
                                                        '選択された物のページに行く
                                                        pdaTask.WindowManager.SelectOrder(pdaTask.OrderCd)
                                                        pdaTask.WindowManager.ChangePage(pdaTask.OrderCd)


                                                    End If
                                                    task.ActionCd = "INNER_LABEL"
                                                    pdaTask.MsgText = ""
                                                    '完全に照合成功
                                                    pdaTask.Hardware.nextC()
                                                    CCommon.FlagManage("MULTI_ORDER", False)

                                                Else


                                                    task.ActionCd = "INNER_LABEL"
                                                    pdaTask.MsgText = ""
                                                    '完全に照合成功
                                                    pdaTask.Hardware.nextC()
                                                End If


                                                '機能追加 10.09.03 修正--------------------END---LEE

                                                'task.ActionCd = "INNER_LABEL"
                                                'pdaTask.MsgText = ""
                                                ''完全に照合成功
                                                'pdaTask.Hardware.nextC()

                                                '
                                            Else
                                                Dim barNm As String = StateDao.GetBarcdName(trx, nextLblNm)
                                                '箱入り数が足りないならまた読む
                                                If CCommon.FlagManage("READ_EMORE") And nowCResult.GetString("lbl_count") = "Y" Then
                                                    pdaTask.LabelCount -= 1
                                                    '次読むラベルのボタンを表示
                                                    Dim barNm2 As String = StateDao.GetBarcdName(trx, nowCResult.GetString("label_type"))
                                                    pdaTask.addWindowLabelBox(barNm2, 1)

                                                    '完了も出来るように---
                                                    Dim result As String = "完了"
                                                    pdaTask.addWindowLabelBox(result, 4)

                                                    task.ActionCd = "LABEL"
                                                    task.ProcessText = ""
                                                Else
                                                    CCommon.FlagManage("READ_EMORE", False)
                                                    '次読むラベルのボタンを表示
                                                    'pdaTask.addWindowLabelBox(nowCResult.GetString("label_type"), 1)
                                                    task.ActionCd = "INNER_LABEL"
                                                    task.ProcessText = ""
                                                End If

                                                If CCommon.FlagManage("READ_EMORE") Then
                                                    'MessageBox.Show("数量足りない")
                                                    Dim barNm2 As String = StateDao.GetBarcdName(trx, barcdType)
                                                    'pdaTask.MsgText = "数量が足りません " & barNm2 & "(" & (pdaTask.ChdLabelQty / pdaTask.LabelQty) + 1 & "/" & pdaTask.PartLabelQty / pdaTask.LabelQty & ") を" & vbNewLine & "読んでください。"
                                                    pdaTask.MsgText = "数量が足りません " & barNm2 & "(" & (pdaTask.LabelQty / pdaTask.PartLabelQty) + 1 & "/" & pdaTask.PartLabelQty / pdaTask.Setting_OrderQty & ") を読んでください。"
                                                    Debug.WriteLine("LABEL_PLUS03----START")
                                                    '数量が足りなくても完了は出来るように
                                                    CCommon.FlagManage("LABEL_OK", True)

                                                    'LabelQtyを増やす
                                                    CCommon.FlagManage("LABEL_PLUS", True)
                                                Else
                                                    pdaTask.MsgText = ""
                                                End If
                                            End If


                                        End If

                                        '次のラベルがある場合
                                    Else
                                        Dim barNm As String = StateDao.GetBarcdName(trx, nextLblNm)

                                        '次読むラベルのボタンを表示
                                        pdaTask.addWindowLabelBox(barNm, 1)
                                        task.ActionCd = "LABEL"
                                        task.ProcessText = ""

                                    End If
                                Else
                                    'パタンが複数の場合
                                    For i As Integer = 0 To pdaTask.PatternList.Count - 1
                                        Dim patternNm As String = pdaTask.PatternList(i)
                                        Dim nextCResult As CResultSet = StateDao.GetNextCResult(trx, patternNm, pdaTask.LabelCount)
                                        Dim nowCResult As CResultSet = StateDao.GetNextCResult(trx, patternNm, pdaTask.LabelCount - 1)

                                        Dim result As String = nextCResult.GetString("label_type")
                                        Dim barNm As String = StateDao.GetBarcdName(trx, result)
                                        result = barNm
                                        Dim msgFlg As Boolean = False
                                        If result = "" Then
                                            result = "完了"
                                            CCommon.FlagManage("LABEL_OK", True)
                                            msgFlg = True
                                        End If

                                        If Not nextNm.Contains(result) Then
                                            'result = result '"次のラベルを読んでください。"
                                            nextNm.Add(result)
                                            msgFlg = True
                                        End If

                                        '箱入り数が足りないならまた読む
                                        If CCommon.FlagManage("READ_EMORE") And nowCResult.GetString("lbl_count") = "Y" Then
                                            pdaTask.LabelCount -= 1
                                        Else
                                            CCommon.FlagManage("READ_EMORE", False)
                                        End If

                                        If msgFlg Then
                                            If CCommon.FlagManage("READ_EMORE") Then
                                                'MessageBox.Show("数量足りない")
                                                Dim barNm2 As String = StateDao.GetBarcdName(trx, barcdType)
                                                pdaTask.MsgText = "数量が足りません " & barNm2 & "(" & pdaTask.ChdLabelQty / pdaTask.LabelQty & "/" & pdaTask.PartLabelQty / pdaTask.LabelQty & ") を" & vbNewLine & "読んでください。"
                                                Debug.WriteLine("LABEL_PLUS01----START")
                                                'LabelQtyを増やす
                                                CCommon.FlagManage("LABEL_PLUS", True)
                                            Else
                                                pdaTask.MsgText = ""
                                            End If
                                            '次読むラベルのボタンを表示
                                            If result = "完了" Then
                                                pdaTask.addWindowLabelBox(result, 4)
                                            Else
                                                pdaTask.addWindowLabelBox(result, 1)
                                            End If

                                        End If
                                    Next
                                    task.ActionCd = "LABEL"
                                    task.ProcessText = ""
                                End If
                            Case 99

                            Case Else
                                '===============>>>>具体的なエラー表示
                                Return GetNextState(CPersonal.ErrorPage(pdaTask, selectCaseInt, task))

                        End Select
                    Else
                        Debug.WriteLine("CVALUE_CHECK 4-1")
                        'ユニークコードチェック
                        CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                          Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
                        task.ActionCd = "LABEL"
                        task.ProcessText = ""

                    End If

                    'ユニークコード存在
                Case 90
                    Debug.WriteLine("CVALUE_CHECK 9")
                    'ユニークコードチェック
                    CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                           Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_014, Color.White)

                    task.ActionCd = "LABEL"
                    task.ProcessText = ""

                    '画面から聞いた返事
                Case 80

                    task.ActionCd = "LABEL"
                    task.ProcessText = ""


                Case 99
                    'エラー処理を具体的に表現
                    'エラー送信
                    If AppManager.m_AppSetting.ErrSend Then
                        SyncLock pdaTask.m_SendLockObject
                            Try
                                Dim filePath As String = CApplicationManager.GetRealPath(CApplicationManager.SETTING_ACT_PATH, CApplicationManager.EnumSpecialFolder.PATH_MYDOCUMENT)
                                CBgControl.BgThread("ERR-" & System.Environment.TickCount.ToString(), "csv", filePath, CPersonal.ErrData(pdaTask), CConst.ORDER_DATA_UPLOAD)
                            Catch ex As Exception
                            End Try
                        End SyncLock
                    End If

                    If AppManager.m_AppSetting.ErrorChk Then
                        'MessageBox.Show("22-7")
                        CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                            Color.White, CConst.EnumSound.ERR_BUZZ, CConst.CNS_MSG_034, Color.Red)
                        CPersonal.ErrorLock2(pdaTask)
                        'エラーになったら全部照合中のデータは全部戻す（初期化）
                    Else
                        CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
                                            Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
                        'CPersonal.ErrorLock2Release(pdaTask)
                    End If
                    task.ActionCd = "LABEL"
                    task.ProcessText = ""
                    nextState = GetNextState(task)
                    Return nextState

            End Select
        Catch ex As Exception
            'MessageBox.Show("CVALUE_ERR:" & ex.Message)

        End Try
        nextState = GetNextState(task)
        Return nextState
        '注文番号存在チェッ
    End Function

    ''' <summary>
    ''' 終了メソッド(未使用)
    ''' </summary>
    ''' <param name="task"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function DoExit(ByVal task As CTaskBase) As Boolean
        Debug.WriteLine("CVALUE_CHECKState.DoExit")
        Return True
    End Function


End Class
